Non-volatile memory systems, such as flash memory, have been widely adopted for use in consumer products. Flash memory may be found in different forms, for example in the form of a portable memory card that can be carried between host devices or as a solid state disk (SSD) embedded in a host device. Flash memory may be written in pages and erased in blocks, so once a page is written, a rewrite may require the whole block to be erased. In firmware, once data is rewritten, the old data may be marked as invalid so that it can be erased during garbage collection and may write the new data in another already erased block. Multi-level cell (MLC) memory may be subject to endurance or performance problems as a result of data groups that are frequently rewritten. The memory device firmware may handle memory in logical groups and the logical to physical address table (i.e. the global address table or “GAT”) may have an entry for each logical group.
Write amplification refers to a comparison of the actual amount of data with the logical amount that should be written. In one example, write amplification may be expressed as the ratio of writes from the host (i.e. the logical data that should be written) and the writes going to the memory (i.e. the actual data written). The write amplification effect may be caused by background operations that move/rewrite data (e.g. garbage collection). In particular, the rewriting of data may be necessary because an entire block must be erased before being written to. Write amplification increases the number of writes and reduces the life of the memory. Accordingly, a reduction in write amplification can improve the life of the memory.